# -*- coding: utf-8 -*-

"""
 *
 * - Ime
 *
 *  - kratki opis
 *
 * Autori: Koki007
 * Verzija: 0.1
 * Datum: 26.02.2011
 *
"""


from stanje import cStanje

# koristi se za (sadrzavanje i) upravljanje/"manevriranje" izmedu razlicitih stanja u igri
class cUpravitelj_stanja:

    def __init__(self, engine):
        self.engine = engine
        self.trenutno_stanje = cStanje(self, engine, "default")
        self.popis_stanja = {}
        self.varijable = {} # poanta ovi varijabala je da se mogu izmjenjivati osnovne informacije izmedu raznih stanja
        print " - Inicijaliziran Upravitelj_stanja"
        pass
        
        
        
        
    def primi_event(self, event):
        self.trenutno_stanje.primi_event(event)
        pass
        
        
        
    def azuriraj(self):
        self.trenutno_stanje.azuriraj()
        pass
        
        
        
    def crtaj(self):
        self.trenutno_stanje.crtaj()
        pass
        
        
        
        
    def dodaj_stanje(self, ime, klasa, *args):
        print " - Dodano stanje: " + ime
        self.popis_stanja[ime] = klasa(self, self.engine, ime, *args)
        pass
        
        
        
    def obrisi_stanje(self, ime):
        pass
        
        
    
    def aktiviraj_stanje(self, ime):
        print " - Aktivirano stanje: " + ime
        self.trenutno_stanje = self.popis_stanja[ime]
        self.trenutno_stanje.stanje_aktivirano()
        pass
        
        
    # sluzi za referenciranja nekog stanja    
    def stanje(self, ime):
        return self.popis_stanja[ime]
